package com.cssl.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cssl.dto.UserCreateDTO;
import com.cssl.dto.UserRechargeDTO;
import com.cssl.entity.User;
import com.cssl.exception.BusinessException;

import java.math.BigDecimal;
import java.util.List;

public interface UserService extends IService<User> {

    /**
     * 创建用户
     * @param userDto
     * @return
     */
    Boolean createUser(UserCreateDTO userDto) throws BusinessException;

    /**
     * 余额操作 （带乐观锁）
     * @return
     */
    BigDecimal recharge(UserRechargeDTO urDto);

    /**
     * 扣减余额
     * @param userId
     * @param amount
     * @return
     */
    BigDecimal deductionMoney(Integer userId, BigDecimal amount);

    /**
     * 扣减余额 （购买商品使用）
     * @param userId
     * @param amount
     * @return
     */
    BigDecimal deductionM(Integer userId, BigDecimal amount,String po_id);

    /**
     * 查询当天注册的新用户
     * @return
     */
    int findNewUser();

    /**
     * 查询前天注册的新用户
     * @return
     */
    int findNewUser_yd();

   /* *//**
     * 查询所有用户的当前状态
     * @return
     *//*
    public List<User> findUserStatus();*/

}
